package com.niiwoo.civet.mobile.vo.response.user;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;

@Getter
@Setter
@ApiModel(description = "用户标的详情")
public class QueryProjectInfoResponseVO {

    @ApiModelProperty(value = "用户ID", required = true)
    private String userId;

    @ApiModelProperty(value = "昵称", required = true)
    private String nickName;

    @ApiModelProperty(value = "你我分", required = true)
    private Integer niiwooScore;

    @ApiModelProperty(value = "头像", required = true)
    private String headImage;

    @ApiModelProperty(value = "性别(0、未知 1、男 2、女)", required = true)
    private Byte gender;

    @ApiModelProperty(value = "复借笔数", required = true)
    private Integer repetitionCount;

    @ApiModelProperty(value = "借款用途", required = true)
    private String loanUsage;

    @ApiModelProperty(value = "借款年化利率", required = true)
    private BigDecimal yearInterestRate;

    @ApiModelProperty(value = "借款期限", required = true)
    private Integer deadline;

    @ApiModelProperty(value = "期数单位(1:月，2:天)", required = true)
    private Byte deadlineUnit;

    @ApiModelProperty(value = "标的总金额", required = true)
    private BigDecimal contractAmount;

    @ApiModelProperty(value = "可投金额", required = true)
    private BigDecimal remainingAmount;

    @ApiModelProperty(value = "还款方式(1到期还本息，2等额本息，3按月还息，到期还本)", required = true)
    private Byte repaymentWay;

    @ApiModelProperty(value = "项目ID", required = true)
    private Long projectId;

    @ApiModelProperty(value = "市", required = true)
    private String loanCity;

    @ApiModelProperty(value = "区", required = true)
    private String loanArea;

    @ApiModelProperty(value = "发布时间", required = true)
    private String publishTime;

    @ApiModelProperty(value = "累计借款金额", required = true)
    private BigDecimal successAmount;

    @ApiModelProperty(value = "累计结清借款笔数（已还清）", required = true)
    private Integer finishCount;

    @ApiModelProperty(value = "成功借款笔数", required = true)
    private Integer successCount;

    @ApiModelProperty(value = "逾期笔数", required = true)
    private Integer overdueCount;

    @ApiModelProperty(value = "项目状态(1审核中、2筹款中、3还款中、4已结清、5流标)", required = true)
    private Byte status;

    @ApiModelProperty(value = "子状态(100审核中-初始，101审核中-借款退回，102借款反欺诈-通过，103自动审核-通过，104自动审核-人工审核，105人工审核-通过，106审核通过待确认（融360有），200筹款中-初始，201筹款中-放款中,300还款中-正常还款中，301还款中-逾期还款中，302还款中-坏账还款中，400已结清-正常，401已结清-提前结清，402已结清-坏账结清，500流标-自动审核不通过，501流标-人工审核不通过，502流标-借款退回超时未确认，503流标-借款人手动取消，504流标-投资超时，505流标-后台管理人员手工流标，506流标-借款反欺诈不通过，507管理员批量流标)", required = true)
    private Integer subStatus;

    @ApiModelProperty(value = "常见问题url", required = true)
    private String commonProblem;

    @ApiModelProperty(value = "投资记录", required = true)
    private Integer investmentRecord;

    @ApiModelProperty(value = "回款期数", required = true)
    private Integer currentPeriod;

    @ApiModelProperty(value = "风险提示url", required = true)
    private String riskWarning;

    @ApiModelProperty(value = "是否追加投资(0:否 1：是)", required = true)
    private Byte additionalInvestment;

    @ApiModelProperty(value = "渠道编号(app为默认渠道 kaolalicai考拉理财 tuandai团贷)", required = true)
    private String channelCode;

    @ApiModelProperty(value = "标的业务类型(默认1:个人极速借 2:机构极速借(历史数据) 3:你我云贷 4:卡易借 8:小易贷 9:社保贷 10:信用卡贷 11极速借机构(新) 12装修借 14 消费贷)", required = true)
    private Byte projectType;

    @ApiModelProperty(value = "是否借款人(0:否 1：是)", required = true)
    private Byte theBorrower;

    @ApiModelProperty(value = "用户未支付订单数", required = true)
    private Integer investingCount;

    @ApiModelProperty(value = "过期时间", required = true)
    private long expireTime;

    @ApiModelProperty(value = "是否弹窗", required = true)
    private Boolean popUpWindows;

    @ApiModelProperty(value = "是否显示借款凭证", required = true)
    private Boolean isShowLoanVoucher;

    @ApiModelProperty(value = "授信额度类型(0:未知,1:社保,2:芝麻,3:学历,4:融360,5:自有资质,6:融360自有资质,7:信用卡,8:房产证,9:装修项目,10:车辆)", required = true)
    private Byte creditType;

    @ApiModelProperty(value = "借款人类型(1:个人 2:企业)", required = true)
    private Byte borrowerType;

    @ApiModelProperty(value = "标的提供方", required = true)
    private String provider;

    @ApiModelProperty(value = "标的提供方logo", required = true)
    private String providerLogo;

    @ApiModelProperty(value = "担保方式H5页面地址", required = true)
    private String guaranteeModelH5Url;
    
	@ApiModelProperty("获取可使用红包列表时使用")
	private Integer userPrizeSuitProjectType;
	
	@ApiModelProperty("活动加息费率，10%返回0.1")
	private BigDecimal activityAddInerest;

	@ApiModelProperty("活动信息")
	private String activityTitle;

    @ApiModelProperty("贷款类型(1:社保贷，2:信用卡贷，3:房抵贷，4:车抵贷，5:供应链贷，6:极速贷，9:其它，10:消费贷, 11:生意贷)")
	private Byte loanType;

    @ApiModelProperty("贷款类型(社保贷，信用卡贷，房抵贷，车抵贷，供应链贷，极速贷，其它, 消费贷， 生意贷) ")
    private String loanTypeDesc;

    @ApiModelProperty("产品介绍")
    private String productReadme;

    @ApiModelProperty("逾期垫付天数(逾期多少天后开始垫付)")
    private Integer advanceOverdueDays;

    @ApiModelProperty("是否主借人?0.否;1.是")
    private Byte isMasterBorrower;

    @ApiModelProperty(value = "剩余时间", required = true)
    private long remainingTime;

    @ApiModelProperty("(5.5.0新增)是否新手 0否(条件不符，仅限注册Y天内新手可投)， 1是(超过新手标限额，剩余XXX元可投)")
    private Byte isNovice;
    @ApiModelProperty("新手剩余可投金额(剩余XXX元)(5.5.0新增)")
    private BigDecimal noviceSurplusInvestMoney;
    @ApiModelProperty("新手注册天数期限(注册Y天)(后台配置值(5.5.0新增))")
    private Integer roleDefinitionDays;
    @ApiModelProperty("是否智能投")
    private Boolean isIntelligentInvestment;
    @ApiModelProperty("散标起投金额")
    private BigDecimal projectStartInvestAmount;
    @ApiModelProperty("散标递增金额")
    private BigDecimal projectIncrementalAmount;
}